package com.bytezreo.singleton;

/**
 * 
 * @Description   单例设计模式 例子-----饿汉式
 * @author Bytezero·zhenglei!        Email:420498246@qq.com
 * @version
 * @date 上午9:01:05  
 * @    
 *      区分饿汉式和懒汉式
 *      
 *      饿汉式：
	 *      坏处：对象加载时间过长
	 *      好处：饿汉式是线程安全的
 *      
 *      懒汉式：
 *      	好处：延迟对象的创建
 *          目前写法坏处：线程不安全
 *
 */
public class SingletonTest 
{
	public static void main(String[] args) {
		
		//Bank bank = new Bank();
		
		Bank bank1 = Bank.getInstance();
		
		Bank bank2 = Bank.getInstance();
		
		System.out.println(bank1 == bank2);   //true
		
	}
}


//饿汉式
class Bank
{
	
	//1.私有类的构造器
	private Bank()
	{
		
	}
	
	//2.内部创建类的对象
	//4.要求此对象也必须声明为静态的
	private static Bank instance = new Bank();
	
	
	
	//3.提供公共静态的方法，返回类的对象
	public static Bank getInstance()
	{
		return instance;
	}
}